1. Field of the Invention
The present invention relates to an image processing apparatus and method for processing image data compressed using a frequency transformation such as a DCT (Discrete Cosine Transform).
2. Description of the Related Art
In recent years, as the use of digital cameras has become widespread, printing digital camera-captured image data using printers has become more common. As a result, various printing methods have appeared, including direct-from-camera printing in which the digital camera is directly connected to the printer and memory card printing in which a memory card of a digital camera is attached to a printer and the image data stored therein is printed. In these technologies, the printer receives image data from the digital camera or memory card, decodes the image data to generate print data, and prints.
Since the resources (calculation power of CPU, memory capacity) of printers which process image data in this way are much more limited in comparison to the resources of PCs, the ability to perform the processing to generate print data efficiently is a requirement for systems which perform direct printing.
Aside from this trend for direct printing, the advancement of digital camera technology has accelerated, and the number of pixels in digital camera imaging has increased sharply. To suppress the size of the image data without loss of image quality, image data is processed using a color image compression format based on the DCT when saved on the memory card. The standard example among these formats is JPEG. In JPEG, the image data is divided into a plurality of blocks called MCUs (Minimum Coded Units), and each MCU undergoes DCT conversion. A high degree of compression is then realized by making use of the low sensitivity to high frequency signals which characterizes human vision and eliminating the high-frequency components in the DCT coefficients (frequency coefficients). However, encoding to and decoding from the JPEG format imparts a large processing load.
As a technique for increasing the efficiency of processing which makes use of JPEG characteristics, Japanese Patent Laid-Open No. 2001-145107 proposes a technique for increasing the speed of baseline JPEG compression processing by taking frequency characteristics of the MCU into consideration. In this technique, the image data is divided into MCUs, the MCUs are classified into uniform color MCU and non-uniform color MCUs. The uniform color MCUs are then encoded by finding only DC coefficients using a simple calculation, and the non-uniform color MCUs are encoded normally. Thus, techniques of this type for reducing the load of encoding and decoding by paying close attention to the characteristics of the DCT used in JPEG have already been proposed. However, these techniques are limited to the efficient treatment of MCUs of uniform color.
Besides decoding the JPEG coded image data or the like, the printer must also generate print data which can be printed by the printer from the decoded color image data. The following describes a technique for efficiently generating print data from the decoded color image data.
Generally, color image data is expressed using a color space, in such as CRT, which differs from the color space of a printer. Due to the diversity of color spaces for expressing color image data, after a first conversion into a standard color space it is necessary to resolve the data into the colors of the printer-specific coloring materials. Since an enormous amount of processing is required to generate the color data for the printer-specific coloring materials, techniques for efficiently performing this processing have been proposed.
Japanese Patent Laid-Open No. 2005-53009 proposes a technique for suppressing the processing speed reduction resulting from color space conversion in performing color conversion process, color correction and print processing with colors conversion. In this technique, input data are stored in correspondence with device-dependent data, and the stored data are used as a color processing cache. The cache region is structured to allow storage of a plurality of items of cache data, and a cache data table is searched to judge whether the input data and color processing result for given input data has already been cached in combination. When the combination has been cached in the cache data table, the cached data can be used and the color processing of the input data can be omitted. When the combination has not been cached in the cache data table, color processing is implemented on the input data, and the result is stored in an empty region of the cache region or written over a region that is in use. This process allows a reduction in the amount of processing required for the color processing. Moreover, as the amount of cached data increases, the cache hit rate generally increases.
However, the above-described technique has the following disadvantage. Since it is necessary to store a plurality of items of cache data in the cache data table, the cost of the cache region increases with the size of the table. Also, as the size of the table increases, there is a corresponding increase in the amount of time taken to search the table.
Thus, although techniques have been already proposed for reducing the processing load for particular image formats frequently used by printer and for improving the efficiency of color processing when generating print data from the image data, there is still room for improvement.